<?php
abstract class BaseFluxoEncaminhamentos implements InterfaceFluxo
{
    const ERRO_AUTORIZACAO = 'Você não tem autorização suficiente para realizar esta operação neste momento.';
    
    public static function loadAlertsData($pfcid) 
    {
        $class = get_called_class();
        
        $class = new $class();
        $status = $class->getAlertsStatus($pfcid);
        
        if ($status) {
            global $usuario;
            
            $status = TUtils::ArrayToSql($status);
            $view = new ViewVagaCandidato();
            $where = 'statusid IN (' . $status . ')';
            
            if ($pfcid == PerfilComportamental::NucleoGestor) {
                $where .= ' AND nucleogestorid = ' . $usuario->nucleogestorid;    
            } 
            else {
                $contratoids = $usuario->listarContratosSQL();
                if ($contratoids) {
                    $where .= ' AND contratoid in (' . $contratoids . ')';
                }
            }
            
            $result = $view->listar(array(
            	'precondicao'=>$where, 
            	'orderBy'=>'dataregistro', 
            	'order'=>'desc'));
            
            if (pg_num_rows($result)>0) {
                return pg_fetch_all($result);
            }
        }
    }
}